package Comprobaciones;

import Principal.Main;
import java.sql.SQLException;
import controlador.AlertaControlador;
import java.util.ArrayList;
import java.util.List;
import modelo.AlertaModelo;
import modelo.ListaInteresModelo;
import modelo.entidades.ListaInteres;
import modelo.entidades.Alerta;
import Utilidades.Fechas;
import Utilidades.Errores;
import java.util.Date;
import vista.Alerta.AvisoAlerta;


/**
 *
 * @author ffcotan
 */
public class ComprobarAccesosAlerta {

    AlertaControlador alertaControlador = Main.getAlertaControlador();
    AlertaModelo alertaModelo = Main.getAlertaModelo();
    ListaInteresModelo listaInteresModelo = Main.getListaInteresModelo();


    public void ComprobarLista(String matricula,String acceso) {

        List<ListaInteres> listaInteres = null;
        List<Alerta> alerta = null;
        try {
            listaInteres = listaInteresModelo.listar();
            alerta = alertaModelo.listar();
        } catch (SQLException ex) {
            Errores.mostrarError(ex);
        } catch (Exception ex) {
            Errores.mostrarError(ex);
        }
        for (ListaInteres li : listaInteres) {
            boolean act = false;
            while (li.getMatricula().equals(matricula)&&!act) {
                for (Alerta al : alerta) {
                    if (al.getMatricula().equals(matricula)) {
                        fireActualizaAlertaGesture(matricula, Fechas.fechaATexto(new Date()), "Lista interes", "false", "");
                        act = true;
                    }
                }
                if (!act) {
                    fireNuevaAlertaGesture(matricula, Fechas.fechaATexto(new Date()), "Lista interes", "false", "");
                    act=true;
                }
            }
        }
    }


    protected void fireNuevaAlertaGesture(String matricula, String fecha, String tipo, String atendida, String Observa) {

        List<String> datos = new ArrayList<String>();
        datos.add(matricula);
        datos.add(fecha);
        datos.add(tipo);
        datos.add(atendida);
        datos.add(Observa);

        alertaControlador.nuevaEntidadGesture(datos);
        new AvisoAlerta("LISTA INTERES","Matrícula: "+matricula,"Fecha: "+fecha).setVisible(true);
    }

    protected void fireActualizaAlertaGesture(String matricula, String fecha, String tipo, String atendida, String Observa) {

        List<String> dat = new ArrayList<String>();
        dat.add(matricula);
        dat.add(fecha);
        dat.add(tipo);
        dat.add(atendida);
        dat.add(Observa);

        alertaControlador.actualizaEntidadGesture(dat);
    }
}
